<?php
$bid = $form_values['bid'];

$data = array ();

// Tải lên tập tin mới =? xoá tập tin cũ
$file = file_check_upload ('file');
if ($file) {
  // Tìm đường dẫn đến tập tin hiện tại
  $banner_data = db_result (db_query (
    "SELECT data FROM {dvbanner_item} WHERE bid = %d", 
    $bid
  ));
  
  $banner_data = unserialize ($banner_data);
    
  // Chắn chắn là đường dẫn nội
  if (!preg_match('|/|', $banner_data->path)) {
    file_delete ($banner_data->path);
  }
  
  $file = file_save_upload ($file, 'dvbanner/' . $file->filename);
  if (!$file) {
    drupal_set_message (t('Failed to upload file.'), 'error');
    
    return;
  }
  
  $data['path'] = $file->filepath;
}
else {
	$data['path'] = $form_values['path'];	
}

if ($form_values['link']) {
	$data['link'] = $form_values['link'];
}

if ($form_values['image']) {
	$data['image'] = $form_values['image'];
}

// Cập nhật thông tin trong CSDL
db_query (
  "UPDATE {dvbanner_item} SET title = '%s', status = %d, data = '%s', weight = %d WHERE bid = %d",
  $form_values['title'], 
  $form_values['status'], 
  serialize ($data), 
  $form_values['weight'], 
  $bid
);

// Thông báo đến người dùng: Banner item đã được cập nhật thành công
drupal_set_message (t(
  "Updated banner !title", array (
  '!title' => check_plain($form_values['title'])
)));

// Chuyển hướng người dùng đến trang liệt kê các banner block
drupal_goto ('admin/build/block/dvbanner/banner');
